package com.yangfan.opening_closing_principle;

import java.util.Properties;

/**
 * @description: 开闭原则
 * @author: yangfan
 * @date: Created in 2020/2/10 0010 13:34
 * @modified By:
 * <p>
 * <p>
 * 开闭原则 : 对扩展开放，对修改关闭
 * <p>
 * 用抽象构建框架 ， 扩展实现细节
 * <p>
 * 例如： 现在很多的互联网公司，  规定 每天 需要工作 8 个小时 ， 对于每天工作八小时 这个是关闭的  这就是一个  框架，
 * 至于  你每天 几天上班 ？  几点下班  并没有  这个是开放。
 * <p>
 * <p>
 * <p>
 * <p>
 * <p>
 * <p>
 * 下列案例需求  Java 书籍现在 要 降价了 打 8折  ， 遵循开闭原则  对  扩展开放 对修改关闭 我们 只能进行扩展
 */
public class JavaBook implements Book {

    JavaBook(int id, String name, Double price) {
        this.id = id;
        this.name = name;
        this.price = price;
    }

    private int id;

    private String name;

    private Double price;


    public int getBookId() {
        return this.id;
    }

    public String getBookName() {
        return this.name;
    }

    public Double getBookPrice() {
        return this.price;
    }


    @Override
    public String toString() {
        return "JavaBook{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", price=" + price +
                '}';
    }




}
